<app-toolbar>
    <app-search-form placeholder="请输入标题或消息"
        (onSearch)="search($event)"></app-search-form>
    <app-batch-btn [showAddBtn]="false"
        [showExportBtn]="false"
        [showImportBtn]="false"
        (batchDel)="handleBatchDel()"></app-batch-btn>
</app-toolbar>
<ng-template #totalTemplate
    let-total>总共 {{ total }} 条</ng-template>
<nz-table #basicTable
    [nzData]="datum"
    [nzFrontPagination]="false"
    [nzLoading]="loading"
    nzShowPagination
    [nzTotal]="total"
    nzShowSizeChanger
    [nzShowTotal]="totalTemplate"
    (nzPageSizeChange)="pageSizeChange($event)"
    (nzPageIndexChange)="pageIndexChange($event)"
    [nzPageSize]="pageSize"
    [nzPageIndex]="pageIndex"
    (nzQueryParams)="onQuery($event)">
    <thead>
        <tr>
            <th [nzChecked]="checked"
                [nzIndeterminate]="indeterminate"
                (nzCheckedChange)="handleAllChecked($event)"></th>
            <th nzColumnKey="id"
                [nzSortFn]="true">ID</th>
            <th nzColumnKey="device_id">设备ID</th>
            <th nzColumnKey="level"
                [nzFilters]="filterLevel"
                [nzFilterFn]="true">等级</th>
            <th nzColumnKey="title">标题</th>
            <th nzColumnKey="message">消息</th>
            <th nzColumnKey="type">类型</th>
            <th nzColumnKey="read"
                [nzFilters]="filterRead"
                [nzFilterFn]="true">已读</th>
            <th nzColumnKey="created"
                [nzSortFn]="true">日期</th>
            <th>操作</th>
        </tr>
    </thead>
    <tbody>
        <tr *ngFor="let data of basicTable.data; let i = index"
            (dblclick)="read(data)"
            [style]="{fontWeight: data.read ? '':'bold'}">
            <td [nzChecked]="setOfCheckedId.has(data.id)"
                (nzCheckedChange)="handleItemChecked(data.id, $event)"></td>
            <td>{{data.id}}</td>
            <td>{{data.device || data.device_id}}</td>
            <td>{{data.level}}</td>
            <td>{{data.title}}</td>
            <td>{{data.message}}</td>
            <td>{{data.type}}</td>
            <td>{{data.read}}</td>
            <td>{{data.created | date}}</td>
            <td>
                <a (click)="read(data)">
                    <i nz-icon
                        nzType="eye"></i>
                </a>
                <nz-divider nzType="vertical"></nz-divider>
                <a (click)="delete(data.id)">
                    <i nz-icon
                        nzType="delete"></i>
                </a>
            </td>
        </tr>
    </tbody>
</nz-table>
